#!/bin/bash

# 新闻平台构建脚本
# Author: Logan.Li

set -e

# 颜色定义
RED='\033[0;31m'
GREEN='\033[0;32m'
YELLOW='\033[1;33m'
BLUE='\033[0;34m'
NC='\033[0m' # No Color

# 默认参数
BUILD_ENV=${BUILD_ENV:-production}
DOCKER_REGISTRY=${DOCKER_REGISTRY:-news-platform}
VERSION=${VERSION:-latest}

echo -e "${BLUE}开始构建新闻平台镜像...${NC}"
echo -e "${YELLOW}构建环境: ${BUILD_ENV}${NC}"
echo -e "${YELLOW}镜像版本: ${VERSION}${NC}"

# 启用 BuildKit
export DOCKER_BUILDKIT=1

# 构建后端服务
echo -e "${GREEN}构建后端服务镜像...${NC}"
docker build \
  --build-arg BUILD_ENV=${BUILD_ENV} \
  -t ${DOCKER_REGISTRY}/news-server:${VERSION} \
  -f news-server/Dockerfile \
  news-server/

# 构建管理后台
echo -e "${GREEN}构建管理后台镜像...${NC}"
docker build \
  --build-arg BUILD_ENV=${BUILD_ENV} \
  -t ${DOCKER_REGISTRY}/news-admin-ui:${VERSION} \
  -f news-admin-ui/Dockerfile \
  news-admin-ui/

# 构建用户网站
echo -e "${GREEN}构建用户网站镜像...${NC}"
docker build \
  --build-arg BUILD_ENV=${BUILD_ENV} \
  -t ${DOCKER_REGISTRY}/news-ui:${VERSION} \
  -f news-ui/Dockerfile \
  news-ui/

echo -e "${GREEN}所有镜像构建完成！${NC}"

# 显示构建的镜像
echo -e "${BLUE}构建的镜像列表：${NC}"
docker images | grep ${DOCKER_REGISTRY}

echo -e "${GREEN}构建完成！可以使用以下命令启动服务：${NC}"
echo -e "${YELLOW}docker-compose up -d${NC}"
